3,074 research outputs found
Stabilizer States as a Basis for Density Matrices
We show that the space of density matrices for n-qubit states, considered as
a (2^n)^2 dimensional real vector space, has a basis consisting of density
matrices of stabilizer states. We describe an application of this result to
automated verification of quantum protocols
Benefits of Session Types for software Development
Session types are a formalism used to specify and check the correctness of communication based systems. Within their scope, they can guarantee the absence of communication errors such as deadlock, sending an unexpected message or failing to handle an incoming message. Introduced over two decades ago, they have developed into a significant theme in programming languages. In this paper we examine the beliefs that drive research into this area and make it popular. We look at the claims and motivation behind session types throughout the literature. We identify the hypotheses upon which session types have been designed and implemented, and attempt to clarify and formulate them in a more suitable manner for testing
Session Types as Generic Process Types
Behavioural type systems ensure more than the usual safety guarantees of
static analysis. They are based on the idea of "types-as-processes", providing
dedicated type algebras for particular properties, ranging from protocol
compatibility to race-freedom, lock-freedom, or even responsiveness. Two
successful, although rather different, approaches, are session types and
process types. The former allows to specify and verify (distributed)
communication protocols using specific type (proof) systems; the latter allows
to infer from a system specification a process abstraction on which it is
simpler to verify properties, using a generic type (proof) system. What is the
relationship between these approaches? Can the generic one subsume the specific
one? At what price? And can the former be used as a compiler for the latter?
The work presented herein is a step towards answers to such questions.
Concretely, we define a stepwise encoding of a pi-calculus with sessions and
session types (the system of Gay and Hole) into a pi-calculus with process
types (the Generic Type System of Igarashi and Kobayashi). We encode session
type environments, polarities (which distinguish session channels end-points),
and labelled sums. We show forward and reverse operational correspondences for
the encodings, as well as typing correspondences. To faithfully encode session
subtyping in process types subtyping, one needs to add to the target language
record constructors and new subtyping rules. In conclusion, the programming
convenience of session types as protocol abstractions can be combined with the
simplicity and power of the pi-calculus, taking advantage in particular of the
framework provided by the Generic Type System.Comment: In Proceedings EXPRESS/SOS 2014, arXiv:1408.127
Session Types for Broadcasting
Up to now session types have been used under the assumptions of point to
point communication, to ensure the linearity of session endpoints, and reliable
communication, to ensure send/receive duality. In this paper we define a
session type theory for broadcast communication semantics that by definition do
not assume point to point and reliable communication. Our session framework
lies on top of the parametric framework of broadcasting psi-calculi, giving
insights on developing session types within a parametric framework. Our session
type theory enjoys the properties of soundness and safety. We further believe
that the solutions proposed will eventually provide a deeper understanding of
how session types principles should be applied in the general case of
communication semantics.Comment: In Proceedings PLACES 2014, arXiv:1406.331
Verification of Linear Optical Quantum Computing using Quantum Process Calculus
We explain the use of quantum process calculus to describe and analyse linear
optical quantum computing (LOQC). The main idea is to define two processes, one
modelling a linear optical system and the other expressing a specification, and
prove that they are behaviourally equivalent. We extend the theory of
behavioural equivalence in the process calculus Communicating Quantum Processes
(CQP) to include multiple particles (namely photons) as information carriers,
described by Fock states or number states. We summarise the theory in this
paper, including the crucial result that equivalence is a congruence, meaning
that it is preserved by embedding in any context. In previous work, we have
used quantum process calculus to model LOQC but without verifying models
against specifications. In this paper, for the first time, we are able to carry
out verification. We illustrate this approach by describing and verifying two
models of an LOQC CNOT gate.Comment: In Proceedings EXPRESS/SOS 2014, arXiv:1408.127
Typechecking protocols with Mungo and StMungo: a session type toolchain for Java
Static typechecking is an important feature of many standard programming languages. However, static typing focuses on data rather than communication, and therefore does not help programmers correctly implement communication protocols in distributed systems. The theory of session types provides a basis for tackling this problem; we use it to develop two tools that support static typechecking of communication protocols in Java. The first tool, Mungo, extends Java with typestate definitions, which allow classes to be associated with state machines defining permitted sequences of method calls: for example, communication methods. The second tool, StMungo, takes a session type describing a communication protocol, and generates a typestate specification of the permitted sequences of messages in the protocol. Protocol implementations can be validated by Mungo against their typestate definitions and then compiled with a standard Java compiler. The result is a toolchain for static typechecking of communication protocols in Java. We formalise and prove soundness of the typestate inference system used by Mungo, and show that our toolchain can be used to typecheck a client for the standard Simple Mail Transfer Protocol (SMTP)
Modular session types for objects
Session types allow communication protocols to be specified
type-theoretically so that protocol implementations can be verified by static
type checking. We extend previous work on session types for distributed
object-oriented languages in three ways. (1) We attach a session type to a
class definition, to specify the possible sequences of method calls. (2) We
allow a session type (protocol) implementation to be modularized, i.e.
partitioned into separately-callable methods. (3) We treat session-typed
communication channels as objects, integrating their session types with the
session types of classes. The result is an elegant unification of communication
channels and their session types, distributed object-oriented programming, and
a form of typestate supporting non-uniform objects, i.e. objects that
dynamically change the set of available methods. We define syntax, operational
se-mantics, a sound type system, and a sound and complete type checking
algorithm for a small distributed class-based object-oriented language with
structural subtyping. Static typing guarantees that both sequences of messages
on channels, and sequences of method calls on objects, conform to
type-theoretic specifications, thus ensuring type-safety. The language includes
expected features of session types, such as delegation, and expected features
of object-oriented programming, such as encapsulation of local state.Comment: Logical Methods in Computer Science (LMCS), International Federation
for Computational Logic, 201
Application of Quantum Process Calculus to Higher Dimensional Quantum Protocols
We describe the use of quantum process calculus to describe and analyze
quantum communication protocols, following the successful field of formal
methods from classical computer science. We have extended the quantum process
calculus to describe d-dimensional quantum systems, which has not been done
before. We summarise the necessary theory in the generalisation of quantum
gates and Bell states and use the theory to apply the quantum process calculus
CQP to quantum protocols, namely qudit teleportation and superdense coding.Comment: In Proceedings QPL 2012, arXiv:1407.842
Mungo and StMungo: tools for typechecking protocols in Java
We present two tools that support static typechecking of communica- tion protocols in Java. Mungo associates Java classes with typestate specifications, which are state machines defining permitted sequences of method calls. StMungo translates a communication protocol specified in the Scribble protocol description language into a typestate specification for each role in the protocol by following the message sequence. Role implementations can be typechecked by Mungo to ensure that they satisfy their protocols, and then compiled as usual with javac. We demonstrate the Scribble, StMungo and Mungo toolchain via a typechecked POP3 client that can communicate with a real-world POP3 server
- …